请注意我是脚本的新手,所以请保持温和!
我有一个名为list.txt
的文本文件只有一行(用于测试),该行是:
d:\意大利\ GFM \用户\测试\ avisgfm_1001_1500.txt
我的脚本是:
@echo off
for /f "delims=" %%1 in (list.txt) do (
echo %%~1
echo %%~d1
echo %%~p1
echo %%~n1
echo %%~x1
)
然而,脚本的结果是:
'╗┐d:\意大利\ GFM \用户\测试\ avisgfm_1001_1500.txt C: \ PCI \'╗┐d:\意大利\ GFM \用户\测试\ avisgfm_1001_1500.txt
有什么想法吗?我是通过Windows批处理文件执行此操作的。
由于
答案 0 :(得分:0)
元变量应该是(区分大小写)字母。
数字指的是例行程序的参数。
for /f "delims=" %%a in (list.txt) do (
echo %%~a
等等都可以。
答案 1 :(得分:0)
似乎你已经保存了list.txt,其中包含一些编码,如UTF-8,文件头部有字节顺序标记。 BAT只能处理ASCII文本文件。尝试将list.txt创建为简单的ASCII文本文件。记事本窗体可以做到这一点。
%% 1工作正常,但最好使用字母,例如%% i,就像规范一样。