kk_lee69 发表于 2023-5-18 16:30:47

求助一下 高手 把一段 語法 寫入BAT

for /f %f IN ( 'dir /b /s *.php *.htm *.html *.css *.js' ) DO @unix2dos %f

這是一段批次檔的語法

https://blog.miniasp.com/post/2010/08/20/UNIX2DOS-DOS2UNIX-Windows-Linux-Convertion
請參考

我測試過 在WINDOWS 下開啟CMD貼上可以執行

但是 放入 BAT 裡面在 DOS下執行會出錯

我不了解原因出在哪

求助一下論壇上的高手改寫一下

zghwelcome 发表于 2023-5-18 16:48:05


for /f %%f IN ( 'dir /b /s *.php *.htm *.html *.css *.js' ) DO @unix2dos "%%f"

zghwelcome 发表于 2023-5-18 16:53:38

这个功能用au3写也很方便啊

3131210 发表于 2023-5-18 20:02:23

%f =>> %%f

chishingchan 发表于 2023-5-18 20:15:22

试试这样行不行:
unix2dos.cmd
for /f %%f IN ( 'dir /b /s *.php' ) DO @unix2dos '%%f'
for /f %%f IN ( 'dir /b /s *.htm' ) DO @unix2dos '%%f'
for /f %%f IN ( 'dir /b /s *.html' ) DO @unix2dos '%%f'
for /f %%f IN ( 'dir /b /s *.css' ) DO @unix2dos '%%f'
for /f %%f IN ( 'dir /b /s *.js' ) DO @unix2dos '%%f'

kk_lee69 发表于 2023-5-19 08:47:20

zghwelcome 发表于 2023-5-18 16:48
for /f %%f IN ( 'dir /b /s *.php *.htm *.html *.css *.js' ) DO @unix2dos "%%f"

正解感謝啦       真沒想到 有這麼多細節

kk_lee69 发表于 2023-5-19 09:02:56

zghwelcome 发表于 2023-5-18 16:48
for /f %%f IN ( 'dir /b /s *.php *.htm *.html *.css *.js' ) DO @unix2dos "%%f"

可以 再請教一下嗎

@unix2dos

這是啥用法 原理 或者有無相關資料 可以查
為什麼他就會去 執行正確的執行檔??

zghwelcome 发表于 2023-5-19 09:49:26

这个就是一个参数传递。 @ 屏蔽命令显示, unix2dos 应该是一个exe文件
就是一个文件路径用参数方式传递给了一个exe文件

kk_lee69 发表于 2023-5-19 10:54:41

3131210 发表于 2023-5-18 20:02
%f =>> %%f

這個的用法   又有何不同??

3131210 发表于 2023-5-19 12:54:49

写到bat文档 for循环的%变量 就要写成%%变量
%变量%   的就不用   我也不知道为什么
为什么不用au3写一个 也很方便啊

#include <File.au3>
Local $FileIndex = _FileListToArrayRec(@ScriptDir, '*.php;*.htm;*.html;*.css;*.js', 1 + 4 + 8, 1, 0, 2)
If @error Then Exit
For $i = 1 To $FileIndex
        Run('unix2dos.exe "' & $FileIndex[$i] & '"', @ScriptDir, @SW_HIDE)
        ;ConsoleWrite('unix2dos.exe "' & $FileIndex[$i] & '"' & @crlf)
Next


btzhou 发表于 2023-6-5 13:36:47

原因是bat里你少了个%号,存成bat或者cmd的时候%f改成%%f就行了
页: [1]
查看完整版本: 求助一下 高手 把一段 語法 寫入BAT