おはよう。icaclsに外部変数を渡すときに奇妙な問題があります
私はバッチスクリプトに問題があります。私はそれに変数を与えるプログラムを持っていて、その変数を使ってフォルダを作成し、その上にIcalcs権限を適用します。何らかの理由で、変数名を含むフォルダが作成されますが、Icalcsは変数がある場所では空白になります。ここでは、コードがある -
set whodo=%2
set username=%whodo%
set path="\\example\shares\Student\%username%"
md %path%
md %path%\Desktop
md %path%\Contacts
md %path%\Favorites
md %path%\Links
md %path%\Music
md %path%\Pictures
md %path%\Saved Games
md %path%\Searches
md %path%\Video
md %path%\Documents
c:\windows\system32\icacls.exe %path% /T /C /inheritance:e /grant:r %username%:(OI)(CI)M
% 2は、このスクリプトを実行するプログラムからの変数を引っ張って、私は、それがICACLSが幸せになるだろうかどうかを確認するために別の変数に変数を入れていたが、それはしていません。プログラムから引き出された変数がなければ、このスクリプトは正常に動作します。 PathとUsernameの変数がIcaclsのどこでも動作する理由は分かりません。これはicaclsの欠点ですか?
おかげ
% 2は、スペースを含むことができますか?エコーでその値を確認してください。 %path%と%username%を大括弧( "%path")で囲んでみてください。 – alexander
ねえ、私はテキストファイルに出力します。\\ example \ shares \ Student \ "16137" "というパス変数の結果です。ユーザー名は" 16137 "となります。 – MattMack
大括弧で囲まれていますか? - (%path%)と( %username%) – MattMack