我现在已经阅读了很多文章并且它不清楚并且有很多版本,而且这个和另一个我一直拼凑起来并且到目前为止,我的问题是'rar'命令似乎没有接受我的substition变量,而不是将其作为字符串读取。
但这就是我所拥有的
@echo off
SETLOCAL
set path =%path%;“C:\ TEMP \ Output”
设置_sourcedir = C:\ TEMP \ Output
设置_logfile = c:\ temp \ Output \ zip_log.txt
设置_rarpath = C:\ Program Files(x86)\ WinRAR
echo启动rar批处理> %_ logfile%
::设置默认目录
pushd%_sourcedir%
echo scan Directory是%_sourcedir%
FOR %% f IN(* .txt)DO(
echo %% f
%_ rarpath \ rar.exe测试
)
POPD
ENDLOCAL
@echo on
我已经切掉了一些并切碎了它,所以你只得到了本质,但我没有省略任何命令。
我正在尝试遍历目录并找到所有.txt文件和zip文件。 (rar em)
echo写出正确的文件名。
有什么想法吗?
答案 0 :(得分:2)
我认为这是你的问题:
set _rarpath=C:\Program Files (x86)\WinRAR
在批处理文件中,环境变量分隔符是一个空格,因此它认为_rarpath
是C:\Program
用双引号括起路径,看看是否有帮助:
set _rarpath="C:\Program Files (x86)\WinRAR"
另外,在你的FOR循环更改中
%_rarpath\rar.exe a test
到
%_rarpath%\rar.exe a test
(或者,这可能是一个错字?)
答案 1 :(得分:0)
我不知道你在哪里要求winrar对你的文件做任何事情? %% f需要在某个地方的winrar命令行上。
此外,您根本不需要循环:rar.exe a test.rar%yourpath%*。csv或类似。