标题: [文本处理] 如何在批处理中对1%进行设置 [打印本页]
作者: q625805390 时间: 2009-8-13 23:30 标题: 如何在批处理中对1%进行设置
我要用一个软件对另一个文件进行解包,每次都要在dos中先输入软件的名,再加上要解包的文件的名。这样太麻烦,我想做一个批处理。我认为在dos中输入软件后的文件名,是把该文件设成了第一个变量,并作为解包软件的目标对象,不过现在不知道怎样才能在批处理中对%1进行赋值,只知道可以在dos中赋值。我说的有些乱啊,不知道大家理解了没,不过我也不知道应该怎么形容了……先谢谢大家了!!
作者: slore 时间: 2009-8-14 00:03
@echo off
if "%~1"=="" (echo 用法:%~nx0 XXX) else echo %~1
pause
作者: batman 时间: 2009-8-14 00:04 标题: 回复 1楼 的帖子
下面就是个例子:- @echo off
- if "%~1" equ "" (
- echo 你没有输入任何内容
- ) else (
- echo 你输入的是:"%1"
- )
- pause>nul
复制代码
在cmd中输入批处理名 要输入的内容
作者: Seter 时间: 2009-8-14 10:45
我估计LZ的意思是,比如原来是
rar.exe k.zip
这个命令可以简化成
k.zip
对不?
试试这个- set s=rar.exe
- ::软件名
- :loop
- set /p arg=输入文件名:
- %s% %arg%
- goto loop
复制代码
作者: q625805390 时间: 2009-8-17 00:13
多谢,用了4楼的方法可以了。不过如果想把该文件夹的所有文件解包,我用的 set a=*.rar 之后说打开文件失败,如果是指定文件名的话如 set a=a.rar 就可以解压。这个应该怎么弄啊??
作者: Batcher 时间: 2009-8-17 11:33 标题: 回复 5楼 的帖子
可以用for命令来遍历所有的rar文件
作者: q625805390 时间: 2009-8-19 22:30
啊,多谢大家指点,我终于明白了。我是这样整的,有需要的看一看。如有不好的地方也请大家指正。
@echo off
set a=软件名.exe
for /r %%i in (*.rar) do %a% %%i
pause
作者: Batcher 时间: 2009-8-19 22:55 标题: 回复 7楼 的帖子
你可以分别测试以下两种情况:
1、xxx.rar是个具有隐藏属性的文件
2、xxx xxx.rar文件名里面包含空格
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |