1

每天有 4 个文件下载到映射驱动器,没有扩展名。我已经搜索了我想要的脚本,但我找不到它。我发现了一个 cmd 脚本,但只添加了一个 csv 作为扩展名。但我想要 1 个文件中的所有脚本。也许有人可以帮助我。

向此文件添加扩展名:

每日1.20121129
每日2.20121129
股权.20121129
未来4.20121129

(.20121129' 这是下载的日期,每天都会更改。)

脚本必须将文本添加到每个文件末尾的 2 个文件中:“daily1.date.csv”和“daily2.date.csv”日期每天都会更改我认为脚本必须打开它,如果包含 daily1 和 daily2 .

4

3 回答 3

0

如果您只想将文件夹中的所有文件重命名为 csv 扩展名,那么您可以使用

ren C:\folder\files\* *.csv
于 2012-11-30T09:53:54.777 回答
0

我使用了其他一些论坛,但这就是我想要的。对不起,我不正确我想要的。也许将来它会帮助其他人。

ren C:\blp\bbdl\_csv\* *?.csv
PING 127.0.0.1 -n 6
for %%j in (C:\blp\bbdl\_csv\dailycurrency1.out.????????.csv) do @echo.TEST EUR>> %%j
PING 127.0.0.1 -n 6
for %%j in (C:\blp\bbdl\_csv\dailycurrency2.out.????????.csv) do @echo.TEST >> %%j
PING 127.0.0.1 -n 6
powershell -command "& 'C:\NewScript\copy_script_PS.ps1' "
于 2012-12-03T12:54:03.787 回答
0

我不太确定你想要实现什么。您是否希望所有下载的文件都放在一个扩展名为 的文件中.csv?可以这样实现(假设目录中没有其他文件):

>output.csv type *

或者您想为.csv每个下载的文件添加扩展名?可以这样实现(再次假设目录中没有其他文件):

for %%f in (*) do ren "%%~f" "%%~f.csv"

还是您只想合并特定文件?如果是这样,哪些源文件应该进入哪个目标文件?

或者您需要将当前日期的文件与同一目录中的其他文件区分开来?为此,您需要构建一个日期字符串,这取决于您的计算机区域设置中定义的日期格式。假设一种格式MM/DD/YYYY,您可以像这样构建一个日期字符串YYYYMMDD

setlocal EnableDelayedExpansion

for /f "tokens=1-3 delims=/" %%i in ("%DATE%") do set d=%%k%%i%%j

REM do stuff

endlocal

编辑:

要在重命名文件之前或之后将文本附加到文件中,您可以将这些操作合并到循环中:

setlocal EnableDelayedExpansion

for %%f in (*) do (
  set filename=%%~f
  if "!filename:~0,5!" == "daily" echo something >> "!filename!"
  ren "!filename!" "!filename!.csv"
)

endlocal

当然,如果要将不同的内容附加到两个文件中,则需要两个语句。

if "!filename:~0,6!" == "daily1" echo something >> "!filename!"
if "!filename:~0,6!" == "daily2" echo something else >> "!filename!"
于 2012-11-29T19:52:46.433 回答