寻求批处理文件的更改

时间:2009-10-22 10:25:21

标签: batch-file

我有一个批处理文件,如下所示:

@echo off
"C:\Program Files\WinZip\WINZIP32.EXE" -min -a -ex "C:\Documents and Settings\vipul\Desktop\vipul.zip" files vipul.xls
copy vipul.zip "C:\Documents and Settings\vipul\Desktop\My briefcase"
copy vipul.zip "E:\Valuations\2009"
exit

HERE vipul.xls是我桌面上的文件,将被复制到我的公文包中,同样是ziiped,然后发送到E \ valu ...文件夹。 我想在这里改变如下: 每次文件名改变时,例如它可能是sanj.xls或lago.xls等。 (代替vipul.xls),我怎么能这样做? 就像在xp

中有printdir.bat文件一样

2 个答案:

答案 0 :(得分:0)

您可以将此批处理文件用于任何扩展名为.xls的文件:

@echo off
"C:\Program Files\WinZip\WINZIP32.EXE" -min -a -ex "C:\Documents and Settings\vipul\Desktop\worksheets.zip" files *.xls
copy worksheets.zip "C:\Documents and Settings\vipul\Desktop\My briefcase"
copy worksheets.zip "E:\Valuations\2009"
exit

或者,如果只有一个文件可以存在一段时间:

@echo off
set filename=
if exists vipul.xls set filename=vipul
if exists sanj.xls  set filename=sanj
if exists lago.xls  set filename=lago
if "%filename%" == "" goto end
"C:\Program Files\WinZip\WINZIP32.EXE" -min -a -ex "C:\Documents and Settings\vipul\Desktop\%filename%.zip" files %filename%.xls
copy %filename%.zip "C:\Documents and Settings\vipul\Desktop\My briefcase"
copy %filename%.zip "E:\Valuations\2009"
exit
:end

答案 1 :(得分:0)

它没有经过测试,但这可以帮到你:

@echo off

REM check if supplied file name actaully exists
IF "%1"=="" GOTO END
IF NOT EXIST "%1" GOTO END

REM define output file name. Use supplied files name without extension and add ".zip"
SET OutputPath=C:\Documents and Settings\vipul\Desktop\%~n1.zip

"C:\Program Files\WinZip\WINZIP32.EXE" -min -a -ex "%OutputPath%" files "%1"
copy "%OutputPath%" "C:\Documents and Settings\vipul\Desktop\My briefcase"
copy "%OutputPath%" "E:\Valuations\2009"

:END

此批处理使用第一个命令行参数(%1)作为要打包和复制的文件的输入。

第一个IF语句检查文件是否有效。 SET命令设置一个变量,其中包含要创建的文件的名称(zip文件)。剩下的部分主要是你已经拥有的代码,但现在使用变量。

编辑:

要调用批处理程序,请将其命名为package.bat,使用如下语法:

package "C:\Documents and Settings\vipul\Desktop\vipul.xls"

package "C:\Documents and Settings\vipul\Desktop\sanj.xls"

您也可以使用拖放功能直接删除要在批处理文件package.bat上处理的文件来启动它。

如果不起作用,请添加评论。

修改

要在发送到上下文菜单中使用此批处理文件,请执行以下步骤:

  1. 将上述代码保存在文件中并命名为package.bat(或其他任何您想要的内容)
  2. 放在你想要的位置。
  3. 创建批处理文件package.bat的链接(右键单击该文件,选择创建链接)
  4. 将创建的链接文件移至“发送至”文件夹(例如C:\Documents and Settings\vipul\SendTo
  5. 现在您可以选择所需的任何文件,并从上下文菜单中选择批处理文件命令 - >发送至
  6. 希望有所帮助。