求助一下 高手 把一段 語法 寫入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下執行會出錯
我不了解原因出在哪
求助一下論壇上的高手改寫一下
for /f %%f IN ( 'dir /b /s *.php *.htm *.html *.css *.js' ) DO @unix2dos "%%f" 这个功能用au3写也很方便啊 %f =>> %%f 试试这样行不行:
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' zghwelcome 发表于 2023-5-18 16:48
for /f %%f IN ( 'dir /b /s *.php *.htm *.html *.css *.js' ) DO @unix2dos "%%f"
正解感謝啦 真沒想到 有這麼多細節 zghwelcome 发表于 2023-5-18 16:48
for /f %%f IN ( 'dir /b /s *.php *.htm *.html *.css *.js' ) DO @unix2dos "%%f"
可以 再請教一下嗎
@unix2dos
這是啥用法 原理 或者有無相關資料 可以查
為什麼他就會去 執行正確的執行檔?? 这个就是一个参数传递。 @ 屏蔽命令显示, unix2dos 应该是一个exe文件
就是一个文件路径用参数方式传递给了一个exe文件 3131210 发表于 2023-5-18 20:02
%f =>> %%f
這個的用法 又有何不同?? 写到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
原因是bat里你少了个%号,存成bat或者cmd的时候%f改成%%f就行了
页:
[1]