我有一个来自nt/xp的旧批处理脚本,它从上下文菜单运行。它所做的是,当我选择一个文件夹并运行cmd时,它会在我右键单击的活动文件夹中创建一个临时文件夹。然后将运行一个程序来转换原始文件夹中的所有tiff,并输出临时文件夹中的新图像。我刚开始使用windows7,在工作文件夹中打开CMD.exe时遇到了问题。当我使用脚本并右键单击时,它会转到/windows/system32
,而不是我单击的文件夹。
下面是展示我想要做什么的reg文件和批处理:
REG文件:
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\Folder\shell\BW Comp/OV]
@="B&W Compress/OV"
[HKEY_CLASSES_ROOT\Folder\shell\BW Comp/OV\Command]
@="C:\\Program Files\\ISRU\\bin\\bwcov.cmd"
批处理文件:
mkdir temp
FOR %%j in (*.tif) do mr_file -T -S 128 -C j -Q 3 -K g %%~nj.tif temp\%%~nj.tif
这是一个非常简单的设置,但现在使用Windows7,我不能让它在制作DIR或处理图像时使用批处理中的工作文件夹。
发布于 2014-03-26 18:12:21
尝试此批处理文件:
@echo off
pushd "%~1"
mkdir temp
FOR %%j in (*.tif) do mr_file -T -S 128 -C j -Q 3 -K g "%%~nj.tif" "temp\%%~nj.tif"
popd
如果mr_file
也是一个批处理文件,那么它的名称前需要call
。
此批处理文件也应在SENDTO
菜单中工作
但是注册表文件在我看来很奇怪。
发布于 2014-04-01 12:29:04
Foxidrive,我尝试了你的建议,并使用我右键单击的文件夹创建临时文件夹。
这是新的文件。
批处理文件(我使用了一个名为make_pry的新程序,而不是mr_file:
@echo on
pushd "%~1"
Title %~f1
mkdir temp
FOR %%j in (*.tif) do make_pyr %%~nj.tif -TIFF -JPEG -QFACTOR 97 -tile 128 -out temp\%%~nj.tif
和Reg文件(这个文件也被更改了,这是我可以让它在mkdir命令中批量工作的唯一方法。如果我删除%1、/a或/c,它将无法工作:
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\Folder\shell\BWCOV]
@="BW Compress OV"
[HKEY_CLASSES_ROOT\Folder\shell\BWCOV\command]
@="cmd.exe /a /c Inpho_bwcov.cmd %1"
https://stackoverflow.com/questions/22650902
复制相似问题