如何引用无名文件夹?

时间:2014-05-28 14:05:33

标签: batch-file cmd

我想使用.bat文件更改无名文件夹的图标:

@echo off
set /p "fld=Folder: "
set /p "ico=Icon file: "
md "%fld%\icons" 2>nul
if exist %ico% copy "%ico%" "%fld%\icons\icon.ico" /y 1>nul
attrib -h -s "%fld%\desktop.ini" 2>nul
(
echo/[.ShellClassInfo]
echo/IconResource=icons\icon.ico,0
) > "%fld%\Desktop.ini"
attrib +h +s -a "%fld%\Desktop.ini"
attrib +r "%fld%"
attrib +h "%fld%\icons"
taskkill -im explorer.exe /f >nul&start explorer
pause

但是我不能引用只包含空格的无名文件(在重命名时按Alt + 255创建)!当我使用空格而不是%fld%并运行bat文件!我想更改.bat并删除%fld%并引用我的无名文件夹!

我得到输出:

The system cannot find the path specified.
Path not found - C:\Users\Sand\Desktop\if
The system cannot find the path specified.
Path not found - C:\Users\Sand\Desktop\if
Path not found - C:\Users\Sand\Desktop\if

2 个答案:

答案 0 :(得分:2)

更改此行:

set /p "fld=Folder: "

set "fld= "

看起来像空格的=之后的字符实际上是ALT+255(按住ALT并在键盘上输入255.

修改

啊,已经有一段时间了,因为我需要这样的东西。

您还必须更改代码页。

  1. 将第一行留空(这是必要的,因为UTF-8文本文件的第一行中有隐藏的字符)。

  2. CHCP 65001作为第二行。

  3. 插入剩余的批次代码。

  4. 将BAT文件保存为UTF-8。

  5. Thanks to this answer for jogging my memory.

答案 1 :(得分:1)

只需alt + 0255即可批量传递 示例

a.bat

α= “Y” 回声“ÿ” set / p c =“gg”

在这里ÿ将在批处理时被视为emptysace,当运行ignore set / p c =“gg”时,只是为了使批处理等待,直到你按任意值